package org.ytor.core.sysapi.monitor.resp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * created by yangtong on 2025/7/6 20:56:58
 * <br/>
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Schema(description = "操作系统基本信息")
public class OperateSystemBasicResp {

    @Schema(description = "设备名称", example = "张三的电脑")
    private String hostName;

    @Schema(description = "操作系统名称", example = "Windows")
    private String osName;

    @Schema(description = "操作系统发行商", example = "Microsoft")
    private String osManufacturer;

    @Schema(description = "操作系统版本", example = "10 build 19045")
    private String osVersion;

    @Schema(description = "系统架构", example = "amd64")
    private String osArch;

    @Schema(description = "CPU物理核心数", example = "8")
    private Integer cpuPhysicalCores;

    @Schema(description = "CPU逻辑核心数", example = "16")
    private Integer cpuLogicalCores;

    @Schema(description = "CPU型号名称", example = "AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx  ")
    private String cpuName;

    @Schema(description = "CPU主频", example = "2.10 GHz")
    private String cpuMaxFreqGHz;

    @Schema(description = "CPU架构", example = "Zen / Zen+")
    private String cpuArch;

    @Schema(description = "物理内存总大小", example = "6.94 GB")
    private String totalPhysicalMemory;
}